Monitoring and failover operation within locomotive distributed control system

ABSTRACT

The present disclosure is directed to a distributed control system for a locomotive. The distributed system may include a network and a plurality of electronic modules distributed within the locomotive and communicatively coupled to the network in a standardized scalable architecture. Each of the electronic modules includes at least one configurable controller that is reconfigurable to implement distributed control of the locomotive. At least one of the electronic modules includes a programmable controller in communication with the configurable controller and the network. A first configurable controller may be configured to monitor at least a first programmable controller.

TECHNICAL FIELD

The present disclosure relates generally to operation of a locomotiveand, more particularly, to systems and methods for distributed controlof a locomotive.

BACKGROUND

Traditional locomotives and locomotives within a consist arrangement areknown to use a centralized on-board computer-based control system.Typically, such conventional control systems for a locomotive mayinclude a central processing unit on the locomotive, a user interfacefor the locomotive operator, and interfaces or backplanes connected tothe central processing unit on the locomotive for communications withsensor input and actuator output. As such, conventional control systemsprovide a consolidated interface for the locomotive operator. Forexample, U.S. Pat. No. 7,131,614 (the '614 patent) describes aconventional locomotive control system with such elements. The '614patent describes locomotive control hardware including a centralcomputer processor.

However, the complexity of new systems desired to be on-board alocomotive as part of a control system may introduce problems to systemssuch as that described in the '614 patent. In other words, some of theproblems currently encountered with conventional control systems includethe complexity of disparate components within the control system thatneed to effectively communicate with each other. Additionally, someconventional control systems may suffer from a lack of robust, missioncritical, extensible and scalable components, which results in anundesirably higher cost, a less standardized and flexible architecture,and undesirably complex and complicated control systems.

The presently disclosed distributed control system is directed toovercoming one or more of the problems set forth above and/or otherproblems in the art.

SUMMARY OF THE INVENTION

In accordance with one aspect, the present disclosure is directed to adistributed control system for a locomotive. The control system mayinclude a network and a plurality of electronic modules distributedwithin the locomotive and communicatively coupled to the network in astandardized scalable architecture. Each of the electronic modulesincludes at least one configurable controller that is reconfigurable toimplement distributed control of the locomotive. At least one of theelectronic modules includes a programmable controller in communicationwith the configurable controller and the network. A first configurablecontroller may be configured to monitor at least a first programmablecontroller.

According to another aspect, the present disclosure is directed to amethod for controlling a locomotive. The method may include monitoring,by a first configurable controller, a first programmable controller. Thefirst configurable controller and the first programmable controller maybe included in the same electronic module, or may be included inseparate electronic modules distributed within the network. The methodmay also include determining, by the first configurable controller,whether the first programmable controller enters into a failurecondition. The method may further include, when the first programmableenters into the failure condition, transmitting, by the firstconfigurable controller, a signal indicating the failure condition ofthe first programmable controller.

In accordance with yet another aspect, the present disclosure isdirected to a consist. The consist may include a plurality oflocomotives. Each locomotive may include a network and a plurality ofelectronic modules distributed within the locomotive and communicativelycoupled to the network in a standardized scalable architecture. Each ofthe electronic modules includes at least one configurable controllerthat is reconfigurable to implement distributed control of thelocomotive. At least one of the electronic modules includes aprogrammable controller in communication with the configurablecontroller and the network. A first configurable controller may beconfigured to monitor at least a first programmable controller.

BRIEF DESCRIPTION OF THE DRAWINGS

FIG. 1 illustrates a pictorial view of an exemplary consist of twolocomotives.

FIG. 2 provides a block diagram of an exemplary distributed controlsystem that may be included in a locomotive of FIG. 1.

FIG. 3 provides a block diagram of exemplary electronic module withinthe distributed control system of FIG. 2.

FIG. 4 provides a block diagram of another exemplary electronic modulewithin the distributed control system of FIG. 2.

FIG. 5 provides a flowchart depicting an exemplary method forcontrolling a locomotive according to an embodiment of the presentdisclosure.

FIG. 6 provides a flowchart depicting an exemplary method forcontrolling a locomotive according to another embodiment of the presentdisclosure.

FIG. 7 provides a flowchart depicting an exemplary method for monitoringand failover operation in a locomotive according to an embodiment of thepresent disclosure.

DETAILED DESCRIPTION

FIG. 1 illustrates a consist 100 comprising a plurality of locomotives120, the plurality including at least a first and a last locomotive 120.Each locomotive 120 may include a locomotive engine 140. In oneembodiment, locomotive engine 140 may comprise a uniflow two-strokediesel engine system. Those skilled in the art will also appreciate thateach locomotive 120 may also, for example, include an operator cab (notshown), facilities used to house electronics, such as electronicslockers (not shown), protective housings for locomotive engine 140 (notshown), and a generator used in conjunction with locomotive engine 140(not shown).

While not shown in FIG. 1, consist 100 may comprise more than twolocomotives 120. Additionally, consist 100 may also comprise a varietyof other railroad cars, such as freight cars or passenger cars, and mayemploy different arrangements of the cars and locomotives to suit theparticular use of consist 100. In an embodiment, the locomotives withinconsist 100 communicate with each other through, for example, wired orwireless connections between the locomotives. Particular examples ofsuch connections may include, but are not limited to, a wired Ethernetnetwork connection, a wireless network connection, a wireless radioconnection, a wired serial or parallel data communication connection, orother such general communication pathway that operatively links controland communication systems on-board respective locomotives of a consist.

FIG. 2 illustrates elements of an exemplary distributed control systemdisposed within locomotive 120 for controlling locomotive 120. Forexample, the distributed control system controls the motion oflocomotive 120 by controlling traction power of locomotive engine 140and dynamic braking of locomotive 120. Referring now to FIG. 2, anetwork 200 is disposed within locomotive 120 as part of an exemplarydistributed control system for locomotive 120. Network 200 may includeone or more different data communication paths over which data havingdifferent communication formats may be transmitted. For example, network200 may be used to transmit Ethernet TCP/IP based data, RS 232 data,RS422 data, controller area network (CAN) bus data, or a combination oftwo or more of these data. For example, different types of data may usediffering parts of network 200, e.g., Ethernet data may use a physicallyseparate data communication path of network 200 than CAN bus data.Alternatively, there may be priorities assigned to particular types ofdata. For example, in one embodiment, messages associated with CAN busdata may be assigned a higher priority than other types of messagingtraffic on network 200.

As part of implementing control functions used to control thelocomotive, the embodiment illustrated in FIG. 2 includes a plurality ofelectronic modules 202-210 communicatively coupled to network 200 in astandardized scalable architecture. In other words, electronic modules202-210 are based on standardized hardware (e.g., similar components,similar boards, etc.), and software that can be flexibly configured andprogrammed in an architecture that allows for scalable additionsdepending on the needs of the control system. For example, in oneembodiment, a single electronic module 202 may implement a particularcontrol function. But if this control function is deemed or becomes amission critical control function, an alternative embodiment mayimplement such a mission critical control function with severalelectronic modules. In one example, the use of several electronicmodules to implement this control function may have been planned fromthe start. However, in another example, the system may dynamicallyallocate additional electronic modules to better handle the needs of thedistributed control system from a mission critical perspective. Thus, ifa particular electronic module hosts a mission critical application(e.g., throttle control of the locomotive engine, dynamic braking, etc.)that requires a lot of processing complexity such that the processinglimit of the particular electronic module would be saturated, themission critical application may be implemented with more than oneelectronic module. In another example, each electronic module 202-210may host control applications (e.g., software applications) that consumea certain percentage of its processing capacity. When the consumption ofprocessing capacity of a given electronic module, e.g., electronicmodule 202, exceeds a predetermined threshold, the overloaded electronicmodule 202 may offload one or more of its control applications toanother electronic module, e.g., electronic module 204. By usingstandardized hardware (e.g., similar components, similar boards, etc.),implementing embodiments of a distributed control system of varyingdegrees of complexity may be accomplished using lower cost andstandardized hardware and software. Doing so allows the system to beflexible and accommodate more robust control functions (e.g., enginecontrol, human-to-machine interfacing, communications, sensing,actuating, etc.).

Electronic modules 202-210 may be spatially disposed within locomotive120. As shown in FIG. 2, exemplary modules 202-210 may be spatiallylocated in different parts of locomotive 120 to provide processing andinterfacing support at disparate locations within locomotive 120, ratherthan rely upon a central processing device at a single location, such asin an operating cab of locomotive 120, for example. In an embodiment,the spatially disparate and distributed aspect of electronic modules202-210 may allow for better protection from the harsh environmentwithin locomotive 120 (e.g., shock, vibration, electrical noise, etc.).Additionally, such an embodiment with spatially disparate anddistributed electronic modules 202-210 allows for ease of maintenance aselectronic modules 202-210 may be placed in closer proximity to thedevices being controlled (e.g., control elements).

Electronic modules 202-210 may be programmed and configured tocommunicatively connect to one or more control elements disposed withinthe locomotive. As shown in FIG. 2, exemplary control elements mayinclude a human-to-machine interface device 220. Human-to-machineinterface device is generally a device that provides feedback to and/orinput from a human, such as the operator of the locomotive.Human-to-machine interface device 220 may include, but is not limitedto, a monitor, a light emitting diode, an indicator, a switch, a button,a keypad, a keyboard, a touchpad, a joystick, a speaker, a microphone,and a credential reader such as finger print scanner or an ID cardscanner.

Another example of a control element is a communication/navigationdevice 230, which is generally a device that provides communicationwithin or outside the locomotive or receives/transmits navigationalinformation within or outside the locomotive. An example ofcommunication/navigation device 230 may include, but is not limited to,an analog radio, a digital communication receiver/transmitter, a GPSunit, and a tracking transponder.

Sensors 240 and 242 and actuators 250 and 252 are additional examples ofcontrol elements operatively connected to one or more electronic modules206, 208, and 210. Generally, a sensor may be any type of device thatrecords or senses a condition or characteristic relative to thelocomotive, such as speed, temperature, atmospheric conditions, shock,vibration, frequency, engine conditions, etc. Various voltages (e.g., DClink voltage) and amperages (e.g., blower motor or traction motoramperage) may be used to represent the sensed conditions orcharacteristics. Similarly, an actuator may generally be any type ofdevice that changes a condition or characteristic relative to thelocomotive, such as a throttle, brake, heater, fuel flow regulator,generator, damper, pump, switch, relay, solenoid, etc. In oneembodiment, an actuator may involve control of a mechanical orelectrical device.

In an embodiment, a single electronic module may be connected to one ormore control elements. For example, in FIG. 2, electronic module 206 isconnected to both of sensors 240 and 242. Alternatively, in oneembodiment, electronic module 206 may be connected to sensors 240 and242, and actuators 250 and 252. Additionally, two or more electronicmodules may be operatively connected to a given control element or toanother electronic module to provide scalable monitoring and controlresources for the control element in an architecture of standardizedelectronic modules. For example, in FIG. 2, electronic modules 208 and210 are both connected to actuator 252. The configuration of how manyelectronic modules may be used with particular control elements willdepend on the desired application within a locomotive. Those skilled inthe art will appreciate that “standardized” generally means a basiccommonality amongst the electronic modules, such as, for example, asimilar chipset and board/daughter board configuration, but does notpreclude electronic modules with different programming and populatedwith a subset of hardware on similar boards.

While FIG. 2 shows an exemplary embodiment of a distributed controlsystem with example control elements that include sensors, actuators, acommunication device, a navigation device, and a human-to-machineinterface device, those skilled in the art will appreciate thatembodiments may include other control elements useful in monitoring andcontrolling aspects of locomotive operation.

FIG. 3 provides a block diagram of exemplary electronic module 202within the exemplary distributed control system of FIG. 2. Referring nowto FIG. 3, electronic module 202 may include a main board 202 a and oneor more daughter boards 202 b and 202 c. Main board 202 a may be astandardized board common to other electronic modules 204-210 within thedistributed control system. Electronic module 202 may further include anetwork interface 300, a programmable controller 305, a configurablecontroller 310, a local data interface 315, one or more communicationports 320 a and 320 b, a power supply circuitry 325, and memories 330 aand 330 b formed on main board 202 a.

Power supply circuitry 325 generally provides appropriate power signalsto different circuit elements within electronic module 202. Variousother known circuits may be associated with electronic module 202,including gate driver circuitry, buffering circuitry, and otherappropriate circuitry.

Network interface 300 may be configured to couple electronic module 202to network 200. Network interface 300 may be coupled to both ofprogrammable controller 305 and configurable controller 310. In oneexample, network interface 300 may be an Ethernet switch. However, othertypes of network or communication interfaces may suffice to operativelycouple electronic module 202 to network 200. Additionally, inembodiments where network 200 includes different communication paths orsubnetworks, network interface 300 may be implemented with one or moreinterface circuits to accommodate the different format or differentphysical paths of network 200. For example, the interface circuits ofnetwork interface 300 may accommodate transmission of Ethernet TCP/IPbased data, RS 232 data, RS422 data, CAN bus data via network 200.Although not shown in FIG. 3, electronic module 202 may further includeone or more network ports, such as Ethernet ports, into which networkcables may be plugged.

Configurable controller 310 contains internal circuitry that isconfigurable to implement distributed control of locomotive 120. Inother words, the internal circuitry of configurable controller 310 maybe altered (e.g., internally reconnectable) in different configurationsto implement one or more control functions associated with thedistributed control of locomotive 120. In one embodiment, configurablecontroller 310 may be implemented by a field programmable gate array(FPGA) including programmable logic gates that may be reconfigured inhow each of the programmable logic gates are interconnected whenproviding analog or digital control of one or more control elements.Configurable controller 310 may be configured to include a soft coreprocessor such as a Nios processor in Altera® FPGAs. In someembodiments, a control application that is running on configurablecontroller 310 may require more sophistication and complexity. In thiscase, control application may be implemented by both configurablecontroller 310 and programmable controller 305, which has a higherprocessing capacity than configurable controller 310. Configurablecontroller 310 may be connected to memory 330 b. Memory 330 b may beconfigured to store configuration files used by configurable controller310 to reconfigure the internal circuitry to perform certain functionsrelated to the disclosed embodiments. In some embodiments, memory 330 bmay also store executable programs to be executed by the soft coreprocessor in configurable controller 310. Memory 330 b may include avolatile or non-volatile, magnetic, semiconductor, tape, optical,removable, nonremovable, or other type of storage device orcomputer-readable medium. In some embodiments, configurable controller310 may be configured to include a memory to store, for example, theconfiguration files used by configurable controller 310.

Programmable controller 305 may be in communication with configurablecontroller 310 and network 200. Programmable controller 305 isprogrammatically adapted to provide computational support for a controlfunction associated with electronic module 202. Exemplary communicationbetween configurable controller 310 and programmable controller 305 maybe accomplished with a peripheral component interconnect express (PCIe)bus or other high speed data bus that facilitates quick and efficientcommunication between the devices when implementing the controlfunction. The control function, such as throttle control of the engine,may be at least one of a plurality of control functions associated withthe distributed control of the locomotive. Computational supportgenerally involves an offloaded task that may be accomplished with aprocessing unit, such as programmable controller 305, not in directconnection with the control element, such as a throttle actuator orspeed sensor. Alternatively, the communication between configurablecontroller 310 and programmable controller 305 may be accomplishedthrough network 200.

Programmable controller 305 may be removably connected to main board 202a. The software of programmable controller 305 may be programmed toprovide computational support to electronic module 202, thus allowingfor a more complex implementation of application than configurablecontroller 310. Programmable controller 305 may have a higher processingcapacity than configurable controller 310 in terms of execution rate ofinstructions. Programmable controller 305 may be a microcontroller, amicroprocessor, a Computer-On-Module (COM), or a System-On-Module (SOM).A SOM may have a processing capacity of 3 billion instructions persecond. In one example, programmable controller 305 may beprogrammatically tasked with monitoring network 200 for messages.Programmable controller 305 may communicate with memory 330 a formed onmain board 202 a of electronic module 202. Memory 330 a may be used tostore programs to be executed by programmable controller 305. Similar tomemory 330 b, memory 330 a may include a volatile or non-volatile,magnetic, semiconductor, tape, optical, removable, nonremovable, orother type of storage device or computer-readable medium. Alternatively,programmable controller 305 may communicate with other local peripheraldevices not formed on main board 202 a (e.g., control elements 230, 240,242, 250 and 252) via a local data interface 315. Local data interface315 may be implemented, for example, using a USB or SATA format.

In some embodiments, configurable controller 310 of electronic module202 may communicate with daughter boards 202 b and 202 c via the one ormore communication ports 320 a and 320 b. Then, via input and output(I/O) ports formed on daughter boards 202 b and 202 c, configurablecontroller 310 of electronic module 202 may communicate with one or morecontrol elements or the daughter boards of other electronic modules204-210 within the distributed control system. Each one of daughterboards 202 b and 202 c may be electrically connected to configurablecontroller 310 in main board 202 a via communication port 320 a or 320 band a cable. The cable may contain several physical signaling lines. Inone example, the cable may be formed as a flexible flat cable with fiftyphysical signaling lines, including power and ground lines.

Daughter board 202 b may include a communication port 340, an interfacecontroller 350, and I/O ports 360 a, 360 b, and 360 c. Communicationport 340 may be connected to communication port 320 a in main board 202a via the cable. Interface controller 350 may be implemented by acomplex programmable logic device (CPLD) or a FPGA, which may beconfigured to control data transmission (e.g., serial data transmission)via I/O ports 360 a, 360 b, and 360 c. Interface controller 350 may alsocontrol one or more control elements connected to daughter board 202 b.In some embodiments, one or more of I/O ports 360 a, 360 b, and 360 cmay be a RS232 data port, a RS422 data port, a LonTalk data port, or aGPS receiver. I/O ports 360 a, 360 b, and 360 c enable communicationbetween electronic module 202 and some control elements that requirespecial data format, such as RS232 data, RS422 data, and/or LonTalkdata. For example, a remote speed indicator which monitors and displaysthe speed of locomotive 120 may be communicated only via the RS 422 dataport. Alternatively, interface controller 350 may be implemented by amicrocontroller that may be programmable to control data transmissionvia I/O ports 360 a, 360 b, and 360 c.

Daughter board 202 c may include a communication port 370 and I/O ports380 a, 380 b, and 380 c. Communication port 370 may be connected tocommunication port 320 b in main board 202 a via another cable. In someembodiments, one or more of I/O ports 380 a, 380 b, and 380 c may be aCAN port that enables communication between electronic module 202 andother control elements that require CAN bus data. For example, anElectro Motive Diesel Engine Controller (EMDEC) which controls thelocomotive engine may be communicated only via the CAN port. Since CANdata transmission has a relatively stringent timing requirement, thereis no need for an interface controller to control data transmission. Inthis case, configurable controller 310 in main board 202 a may beconfigured to include a CAN controller for controlling data transmissionbetween main board 202 a and daughter board 202 c having CAN ports.

Programmable controller 305 and configurable controller 310 may overlapin terms of their functions. That is, each one of programmablecontroller 305 and configurable controller 310 may independentlyinterface with network 200 via network interface 300 to receive,process, initiate, and transmit messages. In addition, each one ofprogrammable controller 305 and configurable controller 310 may have aprocessing capacity to host one or more control applications. However,programmable controller 305 may have a substantially large processingcapacity, while configurable controller 310 may have relatively limitedprocessing capacity.

In some embodiments, a control application of electronic module 202 maydetermine its need for processing capacity. The application maydetermine whether it can be implemented by only configurable controller310, or whether it requires additional processing capacity fromprogrammable controller 305. Applications that require relatively lowprocessing capacity may be implemented by a certain electronic modulethat does not have a programmable controller, which will be discussed ingreater detail below.

FIG. 4 provides a block diagram of an alternative exemplary electronicmodule within the distributed control system of FIG. 2. Referring now toFIG. 4, electronic module 206 may include a main board 206 a and one ormore daughter boards 206 b and 206 c. Main board 206 a may include anetwork interface 400, a configurable controller 410, a local datainterface 415, one or more communication ports 420 a and 420 b, a powersupply circuitry 425, and memories 430 a and 430 b. However, thisembodiment of an electronic module, such as electronic module 206, doesnot include a programmable controller. Instead, the standardized boardused in electronic module 206 may be made without the chip or modulethat corresponds to programmable controller 305. That is, thestandardized main board 206 a used in electronic module 206 may be madewith an empty socket 405 for a programmable controller. As such,electronic module 206 may be used to implement a control function thatis not as resource or computationally intensive and does so at a lowercost. In this embodiment, monitoring responsibilities and otheroff-module interfacing is accomplished by configurable controller 410.Similar to daughter boards 202 b and 202 c shown in FIG. 3, daughterboard 206 b may include a communication port 440, an interfacecontroller 450, and I/O ports 460 a, 460 b, and 460 c, and daughterboard 206 c may include a communication port 470 and I/O ports 480 a,480 b, and 480 c.

In one embodiment, the distributed control system for a locomotive mayuse electronic modules that use both a programmable controller 305 and aconfigurable controller 310 (e.g., electronic module 202 illustrated inFIG. 3). In another embodiment, the distributed control system may useelectronic modules that each use a configurable controller 410 but arenot populated with a separate programmable controller (e.g., module 206illustrated in FIG. 4). In yet another embodiment, the distributedcontrol system may use a combination of electronic modules asillustrated in FIGS. 3 and 4 while still adhering to the standardizedarchitecture of the modules in a system that is scalable for dynamic ordifferent control tasks. Those skilled in the art will appreciate thatthe timing, robust requirements, and mission critical aspects of aparticular control situation will influence which type of standardizedelectronic module to deploy within a distributed control system on alocomotive or consist.

FIG. 5 provides a flowchart depicting an exemplary method forcontrolling a locomotive according to an embodiment of the presentdisclosure. The method may include receiving a message by a first of aplurality of electronic modules coupled to a network disposed within thelocomotive (Step 610). Each of the electronic modules may be spatiallydistributed within the locomotive and operatively coupled to the networkin a standardized scalable architecture, such as electronic modules202-210, described above. The method may further include processing themessage by a programmable controller in the first of the electronicmodules, such as electronic module 204, to identify a first controlcommand (Step 620). Generally, a control command is associated with oneof a plurality of control functions. The message having information thatcan be processed to identify the control command may come from anotherelectronic module, such as electronic module 202, that is operativelyconnected to human-to-machine interface device 220. The method mayprovide the first control command from the programmable controller(e.g., programmable controller 305) to a configurable controller (e.g.,configurable controller 310) in the first of the electronic modules(Step 630). Based upon the identified first control command, the methodmay generate a control signal by the configurable controller (Step 640).The control signal is typically associated with at least one of aplurality of control functions as part of distributed control of thelocomotive. In one embodiment, the control signal may take the form ofan analog or digital signal. The control signal may include particularvoltage, current or frequency characteristics useful in controlling thecontrol element. The method may apply the generated control signal toone or more control elements (e.g., human-to-machine interface device220, communication/navigation device 230, sensors 240 and 242, actuators250 and 252, etc.) disposed within the locomotive (Step 650).

FIG. 6 provides a flowchart depicting an exemplary method forcontrolling a locomotive according to another embodiment of the presentdisclosure. The method may include receiving a message by a first of aplurality of electronic modules coupled to a network disposed within thelocomotive (Step 710). The method may further include processing themessage by a configurable controller in the first of the electronicmodules to identify a first control command (Step 720). Based upon theidentified first control command, the method may generate a controlsignal by the configurable controller (Step 730). The method may applythe generated control signal to one or more control elements disposedwithin the locomotive (Step 740).

Additionally, the method may receive a monitored locomotive signal fromthe one or more control elements. In one embodiment, a monitoredlocomotive signal is provided by a sensor, such as sensor 240, toconfigurable controller 310 via daughter board 202 b or 202 c, as partof monitoring the speed of the locomotive or as part of monitoring thetemperature of locomotive engine 140. In response, the method mayprocess the monitored locomotive signal within the first of theelectronic modules and alter the generated control signal applied to theone or more control elements disposed within the locomotive. In theexample mentioned above, the monitored locomotive signal may beprocessed by the configurable controller 310 or, if desired andequipped, by the programmable controller 305 within the electronicmodule.

In another embodiment, the method may reconfigure the configurablecontroller to cause the configurable controller to implement analternative one of the control functions. In some exemplary embodiments,reconfiguring the configurable controller may alter interconnections ofa plurality of programmable logic gates to implement the alternative oneof the control functions. For example, an FPGA device may be used toimplement the configurable controller and may be remotely reconfiguredto implement an alternative control function. In this manner, thoseskilled in the art will appreciate the advantageous dynamic tasking ofelectronic modules and the ability to re-use electronic modules indiffering configurations.

INDUSTRIAL APPLICABILITY

The disclosed distributed control system and methods provide a robustand improved solution for controlling a locomotive with a standardizedand scalable architecture of distributed electronic modules. Thedisclosed systems and methods are able to handle robust, missioncritical, and demanding control functions associated with control of thelocomotive using distributed standardized electronic modules.

In particular, in conventional locomotive control systems, if thesoftware inside a controller that is executing a mission critical task,such as dynamic breaking or engine throttle control, does not functionproperly, there is no backup for the controller. Furthermore, the stateof the controller is not monitored to determine if a failure conditionis pending or has occurred.

In contrast, the presently disclosed distributed control system mayenable monitoring and failover operation within an electronic module.For example, in electronic module 202 as illustrated in FIG. 3,configurable controller 310 may be configured to monitor programmablecontroller 305 to detect the presence of a failure condition. Forexample, configurable controller 310 may be configured to monitor datatransmitted to and from programmable controller 305 over differentinterfaces, such as CAN port, Ethernet port, RS 232 port, RS 422asynchronous port, RS 422 synchronous port, RS 485, digital discretesignal port, analog discrete signal port, IO expansion bus, etc, anddetermine, based on the monitored data, whether a failure conditionexists. Alternatively or additionally, configurable controller 310 maybe configured to monitor processing results of programmable controller305 to determine whether the failure condition exists. In yet anotherexample, a heartbeat communication may be established betweenconfiguration controller 310 and programmable controller 305. That is,programmable controller 305 may periodically transmit a signal toconfigurable controller 310 to confirm that it is still functioningproperly. When configuration controller 310 does not receive the signalat a given internal, it may determine that programmable controller hasentered into a failure condition.

The failure condition of programmable controller 305 may indicate avariety of failures. For example, programmable controller 305 may enterinto a failure condition when a consumption of processing capacity ofprogrammable controller 305 exceeds a threshold value. Alternatively,programmable controller 305 may enter into a failure condition whenprogrammable controller 305 does not respond to a request fromconfigurable controller 310.

When programmable controller 305 enters into a failure condition,configurable controller 310 may be configured to take over at least asubset of tasks performed by programmable controller 305. Minimally,configurable controller 310 may be configured to transmit a signalindicating the failure condition of programmable controller 305. Forexample, configurable controller 310 may transmit the signal to acomponent of electronic module 208. Subsequently, a programmablecontroller or a configurable controller in electronic module 208 maytake over a subset of tasks, e.g., mission critical tasks performed byprogrammable controller 305. A mission critical task may include anytype of basic task that allows locomotive 120 to remain operational,such as dynamic braking control or engine throttle control, for example.In another example, configurable controller 310 itself may take oversome tasks previously performed by programmable controller 305. Thisway, the presently disclosed distributed control system may allow for agraceful degradation when a component does not function properly, whichmay enable locomotive 120 to avoid potentially dangerous conditions.

Although in the above examples configurable controller 310 is configuredto monitor programmable controller 305 that is located in the sameelectronic module 202 with configurable controller 310, configurablecontroller 310 may be configured to monitor a programmable controller inanother electronic module, e.g., electronic module 208 in the system. Insuch a case, the communication between configuration controller 310 inelectronic module 202 and the programmable controller in electronicmodule 208 may be conducted over network 200. In addition, configurablecontroller 310 may be configured to monitor more than one programmablecontroller in the control system. For example, configurable controller310 may monitor a combination of programmable controllers within aplurality of different electronic modules.

FIG. 7 provides a flowchart depicting an exemplary method for monitoringand failover operation in a locomotive according to an embodiment of thepresent disclosure. The method may include monitoring a programmablecontroller by a configurable controller (Step 810). For example,configurable controller 310 may monitor programmable controller 305. Themethod may also include determining whether the programmable controllerenters into a failure condition (Step 820). When the programmablecontroller enters into the failure condition (Step 820, Yes), theconfigurable controller may transmit a signal indicating the failurecondition of the programmable controller (Step 830). Then, theconfigurable controller may take over a subset of tasks performed by theprogrammable controller (Step 840). When the programmable controllerdoes not enter into the failure condition (Step 820, No), the processmay return to step 810 where the programmable controller is continuouslymonitored by configurable controller.

The presently disclosed distributed control system may have severaladvantages. Specifically, the presently disclosed distributed controlsystem avoids undesirably high costs by providing spatially distributedelectronic control modules using standardized components. Thestandardized components, such as an electronic peripheral controlinterface and, in some instances, a programmable controller, allow for aflexible, extensible, and scalable architecture while helping to avoidhigh maintenance costs and system downtime.

Additionally, the disclosed systems are able to use components, such asa configurable controller, which contain internal circuitry that isreconfigurable. This is especially beneficial when there is the need forquick and flexible replacement of components in the system, dynamictasking of electronic modules within the system to handle differingcontrol needs within the locomotive, or the ability to re-use electronicmodules in differing configurations.

It will be apparent to those skilled in the art that variousmodifications and variations can be made to the disclosed distributedcontrol system for a locomotive and associated methods for operating thesame. Other embodiments will be apparent to those skilled in the artfrom consideration of the specification and practice of discloseddistributed control system for a locomotive. It is intended that thespecification and examples be considered as exemplary only, with a truescope being indicated by the following claims and their equivalents.

What is claimed is:
 1. A distributed control system for a locomotive,comprising: a network disposed within the locomotive; and a plurality ofelectronic modules distributed within the locomotive and communicativelycoupled to the network in a standardized scalable architecture, each ofthe electronic modules comprising at least one configurable controllerthat is reconfigurable to implement distributed control of thelocomotive, and at least one of the electronic modules comprising aprogrammable controller in communication with the configurablecontroller and the network, wherein a first configurable controller isconfigured to monitor at least a first programmable controller.
 2. Thedistributed control system of claim 1, wherein the first configurablecontroller and the first programmable controller are included in thesame electronic module.
 3. The distributed control system of claim 1,wherein the first configurable controller and the first programmablecontroller are included in different electronic modules.
 4. Thedistributed control system of claim 1, wherein the first configurablecontroller is configured to monitor data transmitted to and from thefirst programmable controller.
 5. The distributed control system ofclaim 1, wherein the first configurable controller is configured tomonitor processing results of the first programmable controller.
 6. Thedistributed control system of claim 1, wherein the first configurablecontroller is configured to determine whether the first programmablecontroller enters into a failure condition.
 7. The distributed controlsystem of claim 6, wherein, when the first configurable controllerdetermines that the first programmable controller enters into thefailure condition, the first configurable controller is configured totake over at least a subset of tasks performed by the first programmablecontroller.
 8. The distributed control system of claim 6, wherein, whenthe first configurable controller determines that the first programmablecontroller enters into the failure condition, the first configurablecontroller is configured to transmit a signal indicating the failurecondition of the first programmable controller.
 9. The distributedcontrol system of claim 6, wherein the first configurable controller isconfigured to determine that the first programmable controller entersinto the failure condition when a consumption of processing capacity ofthe first programmable controller exceeds a threshold value.
 10. Thedistributed control system of claim 6, wherein the first configurablecontroller is configured to determine that the first programmablecontroller enters into the failure condition when the first programmablecontroller does not respond to a request from the first configurablecontroller.
 11. The distributed control system of claim 1, wherein thefirst configurable controller is a field programmable gate array. 12.The distributed control system of claim 1, wherein the firstprogrammable controller is a programmatically controlled deviceimplemented by at least one of a microprocessor, a microcontroller, or asystem-on-module.
 13. A method for controlling a locomotive thatincludes a plurality of electronic modules distributed within thelocomotive and communicatively coupled to a network in a standardizedscalable architecture, each of the electronic modules including at leastone configurable controller that is reconfigurable to implementdistributed control of the locomotive, and at least one of theelectronic modules including a programmable controller in communicationwith the configurable controller and the network, the method comprising:monitoring, by a first configurable controller, a first programmablecontroller; determining, by the first configurable controller, whetherthe first programmable controller enters into a failure condition; andwhen the first programmable enters into the failure condition,transmitting, by the first configurable controller, a signal indicatingthe failure condition of the first programmable controller.
 14. Themethod of claim 13, further including, when the first programmableenters into the failure condition, taking over, by the firstconfigurable controller, at least a subset of tasks performed by thefirst programmable controller.
 15. The method of claim 13, wherein thedetermining whether the first programmable controller enters into afailure condition including determining whether a consumption ofprocessing capacity of the first programmable controller exceeds athreshold value.
 16. The method of claim 13, wherein the determiningwhether the first programmable controller enters into a failurecondition including determining whether the first programmablecontroller responds to a request from the first configurable controller.17. The method of claim 13, wherein the first configurable controllerand the first programmable controller are included in the sameelectronic module.
 18. The method of claim 13, wherein the firstconfigurable controller and the first programmable controller areincluded in different electronic modules.
 19. The method of claim 13,wherein the monitoring the first configurable controller includingmonitoring data transmitted to and from the first programmablecontroller.
 20. A consist, comprising: a plurality of locomotives, eachlocomotive comprising: a network disposed within the locomotive; and aplurality of electronic modules distributed within the locomotive andcommunicatively coupled to the network in a standardized scalablearchitecture, each of the electronic modules comprising at least oneconfigurable controller that is reconfigurable to implement distributedcontrol of the locomotive, and at least one of the electronic modulescomprising a programmable controller in communication with theconfigurable controller and the network, wherein a first configurablecontroller is configured to monitor at least a first programmablecontroller.